﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ThuVien;
using System.Data;

namespace TranTekBE.KPI_NhanSu
{
    public partial class Thuong_Nhan_Vien : PagePopUp
    {
        string get_user_name = null;
        string get_id_user = null;
        string get_full_name = null;
        protected void Page_Load(object sender, EventArgs e)
        {
            //Load JS
            ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "LoadJS", "LoadJS();", true);
            get_id_user = FunctionsUtils.GetValueStringFromQueryString("IDUserNameReward", "0");

            string sql_get_user_danh_gia = "SELECT * FROM tbl_UserKPI Where ID_USER = '" + get_id_user + "'";
            DataSet sql_popup_danh_gia_user = FunctionsUtils.Database2.ExecuteQuery(sql_get_user_danh_gia);
            if (sql_popup_danh_gia_user != null)
            {
                //
                get_user_name = sql_popup_danh_gia_user.Tables[0].Rows[0]["NAME_USER"].ToString();
                get_full_name = sql_popup_danh_gia_user.Tables[0].Rows[0]["HO_USER"].ToString()
                    + "" + sql_popup_danh_gia_user.Tables[0].Rows[0]["TEN_USER"].ToString();
            }
            if (!IsPostBack)
            {
                txtUserName.Text = get_full_name;
                GetDropList_EventThuong(droplist_Event_Thuong);
                txtNgayThuong.Text = DateTime.Now.ToShortDateString();
            }
        }

        protected void btnAdd_Thuong_Click(object sender, EventArgs e)
        {
            if (txtNgayThuong.Text != "" && droplist_Event_Thuong.SelectedValue.ToString() != "")
            {
                
                string nguoi_quyet_dinh_thuong = UserInfo.UserName;
                string ngay_thuong = txtNgayThuong.Text;
                //
                string event_thuong = droplist_Event_Thuong.SelectedItem.Text;
                //
                string id_event = droplist_Event_Thuong.SelectedValue.ToString();
                string sql_select_tien_thuong = "SELECT * FROM tbl_DropListEvent WHERE ID_DROPLIST_EVENT = " + id_event;
                DataSet select_tien_thuong = FunctionsUtils.Database2.ExecuteQuery(sql_select_tien_thuong);
                string get_select_tien_thuong = select_tien_thuong.Tables[0].Rows[0]["TIEN_THUONG"].ToString();
                //
                int tien_thuong = FunctionsUtils.ConvertToInt(get_select_tien_thuong, 0);
                int diem_thuong = tien_thuong / 1000;

                try
                {
                    // Insert thông tin lịch làm việc người dùng 
                    string sql_add_user_thuong = @"
                                    INSERT INTO tbl_KhenThuong
                                    (ID_USER,NAME_USER,NGAY_KHEN_THUONG,ID_EVENT,EVENT,TIEN_THUONG,DIEM_THUONG,NGUOI_THUONG)
                                    VALUES
                                    (       '" + get_id_user + @"',
                                            '" + get_user_name + "','"
                                            + ngay_thuong + "','"
                                            + id_event + "',N'"
                                            + event_thuong + "',"
                                            + tien_thuong + ","
                                            + diem_thuong + ",'"
                                            + nguoi_quyet_dinh_thuong
                                            + "')";
                    if (CheckDataExist(get_id_user, event_thuong))
                    {
                        FunctionsUtils.Database2.ExecuteNonQuery(sql_add_user_thuong);
                        Page page = (HttpContext.Current.Handler as Page);
                        if (page != null)
                        {
                            //page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "key", "alert('Bạn đã đánh giá thành công!')", true);
                            Response.Write("<script>alert('Bạn đã khen thưởng thành công!');</script>");
                            ClosePopup(true);
                        }
                    }
                    else
                    {
                        ltAddErr.Text = "Lỗi! Nhân viên " + get_full_name + " đã có achievements " + event_thuong + "!";
                        ltAddErr.ForeColor = System.Drawing.Color.Red;
                    }
                    
                }
                catch (Exception ex)
                {
                    ltAddErr.Text = ex.Message;
                    ltAddErr.ForeColor = System.Drawing.Color.Red;
                }
            }
            else
            {
                ltAddErr.Text = "Nhập thiếu thông tin! Vui lòng kiểm tra lại";
                ltAddErr.ForeColor = System.Drawing.Color.Red;
            }
        }
        private bool CheckDataExist(string idusername, string khenthuong)
        {
            DateTime get_date_now = DateTime.Now;
            // Lấy ngày hôm nay (m.d.y)
            string str_get_date_now = get_date_now.ToShortDateString();
            // Lấy tháng (m) 
            string str_get_month = get_date_now.Month.ToString();
            // Lấy năm (y)
            string str_get_year = get_date_now.Year.ToString();
            // Lấy ngày (d)
            string str_day_now = get_date_now.Day.ToString();
            //
            DateTime dt = new DateTime(Convert.ToInt32(str_get_year), Convert.ToInt32(str_get_month), 1);
            dt = dt.AddMonths(1).AddDays(-1);
            //Lấy day cuối tháng
            string get_end_day_of_month = dt.Day.ToString();
            //

            string sql_so_sanh = @"select * from tbl_KhenThuong
                                where ID_USER = '" + idusername + @"'
                                and  EVENT = N'" + khenthuong + @"'
                                and NGAY_KHEN_THUONG >= '" + str_get_month + "/1/" + str_get_year + @"'
                                and NGAY_KHEN_THUONG <= '" + str_get_month + "/" + get_end_day_of_month + "/" + str_get_year + @"'
                                   ";

            DataSet ds = FunctionsUtils.Database2.ExecuteQuery(sql_so_sanh);

            return FunctionsUtils.isDataSetNullOrEmpty(ds);
        }
        public static void GetDropList_EventThuong(DropDownList ddl)
        {
            DataSet ds_eventthuong = FunctionsUtils.Database2.ExecuteQuery("SELECT * FROM tbl_DropListEvent");
            FunctionsUtils.BindDataForControlList(ddl, ds_eventthuong, "ID_DROPLIST_EVENT", "NAME_EVENT", "", "Chọn khen thưởng");
        }
    }
}